package com.wgu.common.utils;


import com.wgu.common.global.MyException;

/**
 * 断言
 * 断言某些对象或值是否符合规定，否则抛出异常。经常用于做变量检查
 * @Author: w
 * @Date: 2019/4/28 16:55
 * @Version 1.0
 */
public class Assert {

    /**
     * 如果布尔值为true，则抛出异常 异常信息为 errorMsg
     * @param expression 布尔值
     * @param errorMsg  返回信息
     */
    public static void isFalse(boolean expression, String errorMsg){
        if (expression) {
            throw new MyException(errorMsg);
        }
    }

    /**
     * 如果布尔值为true，则抛出异常，异常状态码为 code， 异常信息为 errorMsg
     * @param expression 布尔值
     * @param code     异常状态码
     * @param errorMsg 异常信息
     */
    public static void isFalse(boolean expression, int code,String errorMsg){
        if (expression) {
            throw new MyException(code,errorMsg);
        }
    }

    /**
     * 如果布尔值为false，则抛出异常 异常信息为 errorMsg
     * @param expression 布尔值
     * @param errorMsg  异常信息
     */
    public static void isTrue(boolean expression, String errorMsg){
        if (!expression) {
            throw new MyException(errorMsg);
        }
    }

    /**
     * 如果布尔值为false，则抛出异常，异常状态码为 code， 异常信息为 errorMsg
     * @param expression 布尔值
     * @param code  异常状态码
     * @param errorMsg 异常信息
     */
    public static void isTrue(boolean expression, int code,String errorMsg){
        if (!expression) {
            throw new MyException(errorMsg);
        }
    }
}
